library(here)
library(tidyverse)
library(cowplot)
library(GGally)
theme_set(theme_light())
library(scuttle)
library(scater)
library(kableExtra)
library(DDCompanion)## Directory setup
here_root <- "benchmarks/lupus"
here::i_am(file.path(here_root, "analysis/lupus-mock-results.Rmd"))
#> here() starts at /kyukon/data/gent/vo/000/gvo00063/Jeroen/DD_project_v2
res_dir <- here::here(here_root, "results")
fig_dir <- here::here(here_root, "figures")methods: edgeR_NB, edgeR_QP, edgeR_NB_optim, edgeR_QP_optim, bGLM, qbGLM, qbGLM_offset, qbGLM_offset_squeezecelltypes: B_mem, ncM, T4_naivedatatype: sceres_files <- map(celltypes, ~ get_mock_res_files(
dataset = "lupus",
datatype = datatype,
methods = methods,
celltype = .x
)) %>%
set_names(celltypes)
#res_list <- map_depth(res_files, 2, readRDS)
res_list <- lapply(res_files, function(element){
lapply(element, readRDS)
})
## Check for expected data structure
stopifnot(unlist(map_depth(res_list, 3, ~ is.data.frame(.x$results))))data_files <- map(celltypes, ~ get_SCE_files(
dataset = "lupus", which = "mock_replicates",
celltype = .x
)) %>%
set_names(celltypes)
sce_objects <- map(data_files, readRDS)map_dfr(sce_objects,
~ map_dfr(.x, function(x) c(nrows = nrow(x), ncols = ncol(x)),
.id = "replicate"
),
.id = "celltypes"
)Subjects are divided across mock groups as follows:
map(sce_objects[[1]], function(x) table(x$ind_cov, x$mock_group))
#> $replicate_1
#>
#> A B
#> IGTB141_IGTB141 144 0
#> IGTB143_IGTB143 84 0
#> IGTB195_IGTB195 0 119
#> IGTB469_IGTB469 89 0
#> IGTB498_IGTB498 208 0
#> IGTB508_IGTB508 278 0
#> IGTB514_IGTB514 373 0
#> IGTB645_IGTB645 123 0
#> IGTB670_IGTB670 0 64
#> IGTB826_IGTB826 0 511
#> IGTB884_IGTB884 128 0
#> IGTB986_IGTB986 137 0
#> IGTB1372_IGTB1372 0 136
#> IGTB1506_IGTB1506 0 83
#> IGTB1539_IGTB1539 305 0
#> IGTB1575_IGTB1575 0 164
#> IGTB1650_IGTB1650 0 137
#> IGTB1762_IGTB1762 176 0
#> IGTB1768_IGTB1768 107 0
#> IGTB1789_IGTB1789 0 341
#> IGTB1793_IGTB1793 0 119
#> IGTB1814_IGTB1814 485 0
#> IGTB1815_IGTB1815 0 168
#> IGTB1826_IGTB1826 0 70
#> IGTB1827_IGTB1827 122 0
#> IGTB1828_IGTB1828 356 0
#> IGTB1840_IGTB1840 0 328
#> IGTB1844_IGTB1844 0 177
#> IGTB1871_IGTB1871 0 241
#> IGTB1895_IGTB1895 231 0
#> IGTB1901_IGTB1901 150 0
#> IGTB1906_IGTB1906 0 185
#> IGTB1908_IGTB1908 139 0
#> IGTB1913_IGTB1913 156 0
#> IGTB1916_IGTB1916 0 183
#> IGTB1921_IGTB1921 0 181
#> IGTB1952_IGTB1952 199 0
#> IGTB1966_IGTB1966 0 567
#> IGTB1974_IGTB1974 0 129
#> IGTB1982_IGTB1982 0 244
#> IGTB1987_IGTB1987 0 145
#> IGTB1996_IGTB1996 88 0
#> IGTB2007_IGTB2007 149 0
#> IGTB2065_IGTB2065 0 205
#>
#> $replicate_2
#>
#> A B
#> IGTB141_IGTB141 144 0
#> IGTB143_IGTB143 0 84
#> IGTB195_IGTB195 119 0
#> IGTB469_IGTB469 89 0
#> IGTB498_IGTB498 0 208
#> IGTB508_IGTB508 0 278
#> IGTB514_IGTB514 0 373
#> IGTB645_IGTB645 0 123
#> IGTB670_IGTB670 0 64
#> IGTB826_IGTB826 511 0
#> IGTB884_IGTB884 0 128
#> IGTB986_IGTB986 137 0
#> IGTB1372_IGTB1372 0 136
#> IGTB1506_IGTB1506 0 83
#> IGTB1539_IGTB1539 305 0
#> IGTB1575_IGTB1575 164 0
#> IGTB1650_IGTB1650 137 0
#> IGTB1762_IGTB1762 0 176
#> IGTB1768_IGTB1768 107 0
#> IGTB1789_IGTB1789 0 341
#> IGTB1793_IGTB1793 0 119
#> IGTB1814_IGTB1814 485 0
#> IGTB1815_IGTB1815 168 0
#> IGTB1826_IGTB1826 70 0
#> IGTB1827_IGTB1827 122 0
#> IGTB1828_IGTB1828 356 0
#> IGTB1840_IGTB1840 0 328
#> IGTB1844_IGTB1844 0 177
#> IGTB1871_IGTB1871 241 0
#> IGTB1895_IGTB1895 0 231
#> IGTB1901_IGTB1901 150 0
#> IGTB1906_IGTB1906 185 0
#> IGTB1908_IGTB1908 0 139
#> IGTB1913_IGTB1913 0 156
#> IGTB1916_IGTB1916 0 183
#> IGTB1921_IGTB1921 181 0
#> IGTB1952_IGTB1952 199 0
#> IGTB1966_IGTB1966 0 567
#> IGTB1974_IGTB1974 0 129
#> IGTB1982_IGTB1982 244 0
#> IGTB1987_IGTB1987 0 145
#> IGTB1996_IGTB1996 0 88
#> IGTB2007_IGTB2007 149 0
#> IGTB2065_IGTB2065 205 0
#>
#> $replicate_3
#>
#> A B
#> IGTB141_IGTB141 0 144
#> IGTB143_IGTB143 0 84
#> IGTB195_IGTB195 0 119
#> IGTB469_IGTB469 89 0
#> IGTB498_IGTB498 0 208
#> IGTB508_IGTB508 0 278
#> IGTB514_IGTB514 0 373
#> IGTB645_IGTB645 0 123
#> IGTB670_IGTB670 64 0
#> IGTB826_IGTB826 511 0
#> IGTB884_IGTB884 128 0
#> IGTB986_IGTB986 0 137
#> IGTB1372_IGTB1372 136 0
#> IGTB1506_IGTB1506 83 0
#> IGTB1539_IGTB1539 305 0
#> IGTB1575_IGTB1575 164 0
#> IGTB1650_IGTB1650 0 137
#> IGTB1762_IGTB1762 0 176
#> IGTB1768_IGTB1768 0 107
#> IGTB1789_IGTB1789 341 0
#> IGTB1793_IGTB1793 119 0
#> IGTB1814_IGTB1814 485 0
#> IGTB1815_IGTB1815 0 168
#> IGTB1826_IGTB1826 0 70
#> IGTB1827_IGTB1827 122 0
#> IGTB1828_IGTB1828 356 0
#> IGTB1840_IGTB1840 328 0
#> IGTB1844_IGTB1844 177 0
#> IGTB1871_IGTB1871 0 241
#> IGTB1895_IGTB1895 231 0
#> IGTB1901_IGTB1901 150 0
#> IGTB1906_IGTB1906 185 0
#> IGTB1908_IGTB1908 139 0
#> IGTB1913_IGTB1913 0 156
#> IGTB1916_IGTB1916 0 183
#> IGTB1921_IGTB1921 181 0
#> IGTB1952_IGTB1952 0 199
#> IGTB1966_IGTB1966 567 0
#> IGTB1974_IGTB1974 129 0
#> IGTB1982_IGTB1982 0 244
#> IGTB1987_IGTB1987 0 145
#> IGTB1996_IGTB1996 0 88
#> IGTB2007_IGTB2007 149 0
#> IGTB2065_IGTB2065 0 205
#>
#> $replicate_4
#>
#> A B
#> IGTB141_IGTB141 0 144
#> IGTB143_IGTB143 84 0
#> IGTB195_IGTB195 119 0
#> IGTB469_IGTB469 0 89
#> IGTB498_IGTB498 0 208
#> IGTB508_IGTB508 0 278
#> IGTB514_IGTB514 373 0
#> IGTB645_IGTB645 0 123
#> IGTB670_IGTB670 64 0
#> IGTB826_IGTB826 0 511
#> IGTB884_IGTB884 128 0
#> IGTB986_IGTB986 0 137
#> IGTB1372_IGTB1372 0 136
#> IGTB1506_IGTB1506 0 83
#> IGTB1539_IGTB1539 305 0
#> IGTB1575_IGTB1575 164 0
#> IGTB1650_IGTB1650 137 0
#> IGTB1762_IGTB1762 0 176
#> IGTB1768_IGTB1768 107 0
#> IGTB1789_IGTB1789 341 0
#> IGTB1793_IGTB1793 0 119
#> IGTB1814_IGTB1814 0 485
#> IGTB1815_IGTB1815 168 0
#> IGTB1826_IGTB1826 0 70
#> IGTB1827_IGTB1827 0 122
#> IGTB1828_IGTB1828 0 356
#> IGTB1840_IGTB1840 0 328
#> IGTB1844_IGTB1844 0 177
#> IGTB1871_IGTB1871 0 241
#> IGTB1895_IGTB1895 0 231
#> IGTB1901_IGTB1901 150 0
#> IGTB1906_IGTB1906 185 0
#> IGTB1908_IGTB1908 139 0
#> IGTB1913_IGTB1913 156 0
#> IGTB1916_IGTB1916 183 0
#> IGTB1921_IGTB1921 181 0
#> IGTB1952_IGTB1952 0 199
#> IGTB1966_IGTB1966 567 0
#> IGTB1974_IGTB1974 0 129
#> IGTB1982_IGTB1982 0 244
#> IGTB1987_IGTB1987 0 145
#> IGTB1996_IGTB1996 88 0
#> IGTB2007_IGTB2007 149 0
#> IGTB2065_IGTB2065 205 0
#>
#> $replicate_5
#>
#> A B
#> IGTB141_IGTB141 0 144
#> IGTB143_IGTB143 0 84
#> IGTB195_IGTB195 0 119
#> IGTB469_IGTB469 89 0
#> IGTB498_IGTB498 208 0
#> IGTB508_IGTB508 0 278
#> IGTB514_IGTB514 373 0
#> IGTB645_IGTB645 0 123
#> IGTB670_IGTB670 64 0
#> IGTB826_IGTB826 511 0
#> IGTB884_IGTB884 0 128
#> IGTB986_IGTB986 137 0
#> IGTB1372_IGTB1372 136 0
#> IGTB1506_IGTB1506 0 83
#> IGTB1539_IGTB1539 305 0
#> IGTB1575_IGTB1575 164 0
#> IGTB1650_IGTB1650 137 0
#> IGTB1762_IGTB1762 176 0
#> IGTB1768_IGTB1768 0 107
#> IGTB1789_IGTB1789 341 0
#> IGTB1793_IGTB1793 0 119
#> IGTB1814_IGTB1814 0 485
#> IGTB1815_IGTB1815 0 168
#> IGTB1826_IGTB1826 70 0
#> IGTB1827_IGTB1827 0 122
#> IGTB1828_IGTB1828 0 356
#> IGTB1840_IGTB1840 0 328
#> IGTB1844_IGTB1844 177 0
#> IGTB1871_IGTB1871 0 241
#> IGTB1895_IGTB1895 231 0
#> IGTB1901_IGTB1901 150 0
#> IGTB1906_IGTB1906 0 185
#> IGTB1908_IGTB1908 0 139
#> IGTB1913_IGTB1913 0 156
#> IGTB1916_IGTB1916 183 0
#> IGTB1921_IGTB1921 181 0
#> IGTB1952_IGTB1952 0 199
#> IGTB1966_IGTB1966 567 0
#> IGTB1974_IGTB1974 0 129
#> IGTB1982_IGTB1982 0 244
#> IGTB1987_IGTB1987 145 0
#> IGTB1996_IGTB1996 0 88
#> IGTB2007_IGTB2007 149 0
#> IGTB2065_IGTB2065 205 0## Get runtimes for each celltype
runtimes <- map(res_list, ~ map_dfr(.x, get_runtimes, depth = 1, .id = "method"))res_tables <- map_depth(
res_list, 2,
~ get_aggregated_rep_tables(.x, depth = 1)
) %>%
map(combine_tables, .id = "method")runtime_plots <- imap(runtimes,
~ plot_run_times(.x, width = 0.2, height = 0) +
ggtitle(.y)
)n_sign_summaries <- map(res_tables, function(tmp) {
tmp %>%
group_by(replicate, method) %>%
summarise(
sum(FDR < 0.01),
sum(FDR < 0.05),
sum(FDR < 0.1),
.groups = "drop"
)
})| method | sum(FDR < 0.01) | sum(FDR < 0.05) | sum(FDR < 0.1) |
|---|---|---|---|
| Replicate: 1 | |||
| bGLM | 9 | 13 | 16 |
| edgeR_NB | 2 | 6 | 9 |
| edgeR_NB_optim | 2 | 6 | 9 |
| edgeR_QP | 2 | 6 | 9 |
| edgeR_QP_optim | 2 | 6 | 9 |
| qbGLM | 9 | 13 | 16 |
| qbGLM_offset | 10 | 14 | 20 |
| qbGLM_offset_squeeze | 10 | 14 | 20 |
| Replicate: 2 | |||
| bGLM | 25 | 66 | 104 |
| edgeR_NB | 8 | 12 | 18 |
| edgeR_NB_optim | 8 | 12 | 18 |
| edgeR_QP | 8 | 12 | 18 |
| edgeR_QP_optim | 8 | 12 | 18 |
| qbGLM | 25 | 66 | 99 |
| qbGLM_offset | 26 | 66 | 98 |
| qbGLM_offset_squeeze | 26 | 66 | 98 |
| Replicate: 3 | |||
| bGLM | 10 | 23 | 56 |
| edgeR_NB | 4 | 6 | 10 |
| edgeR_NB_optim | 4 | 6 | 10 |
| edgeR_QP | 4 | 6 | 10 |
| edgeR_QP_optim | 4 | 6 | 10 |
| qbGLM | 10 | 23 | 57 |
| qbGLM_offset | 12 | 27 | 70 |
| qbGLM_offset_squeeze | 12 | 27 | 70 |
| Replicate: 4 | |||
| bGLM | 12 | 20 | 27 |
| edgeR_NB | 5 | 8 | 8 |
| edgeR_NB_optim | 5 | 8 | 8 |
| edgeR_QP | 5 | 8 | 8 |
| edgeR_QP_optim | 5 | 8 | 8 |
| qbGLM | 12 | 20 | 27 |
| qbGLM_offset | 13 | 23 | 33 |
| qbGLM_offset_squeeze | 13 | 23 | 33 |
| Replicate: 5 | |||
| bGLM | 7 | 19 | 26 |
| edgeR_NB | 4 | 4 | 4 |
| edgeR_NB_optim | 4 | 4 | 4 |
| edgeR_QP | 4 | 4 | 4 |
| edgeR_QP_optim | 4 | 4 | 4 |
| qbGLM | 7 | 19 | 26 |
| qbGLM_offset | 7 | 19 | 35 |
| qbGLM_offset_squeeze | 7 | 19 | 35 |
| method | sum(FDR < 0.01) | sum(FDR < 0.05) | sum(FDR < 0.1) |
|---|---|---|---|
| Replicate: 1 | |||
| bGLM | 4 | 29 | 38 |
| edgeR_NB | 0 | 1 | 7 |
| edgeR_NB_optim | 0 | 1 | 7 |
| edgeR_QP | 0 | 1 | 7 |
| edgeR_QP_optim | 0 | 1 | 7 |
| qbGLM | 4 | 29 | 37 |
| qbGLM_offset | 4 | 31 | 42 |
| qbGLM_offset_squeeze | 4 | 31 | 42 |
| Replicate: 2 | |||
| bGLM | 17 | 33 | 53 |
| edgeR_NB | 7 | 8 | 11 |
| edgeR_NB_optim | 7 | 8 | 11 |
| edgeR_QP | 7 | 8 | 11 |
| edgeR_QP_optim | 7 | 8 | 11 |
| qbGLM | 17 | 33 | 54 |
| qbGLM_offset | 18 | 37 | 62 |
| qbGLM_offset_squeeze | 18 | 37 | 61 |
| Replicate: 3 | |||
| bGLM | 19 | 28 | 43 |
| edgeR_NB | 11 | 16 | 18 |
| edgeR_NB_optim | 11 | 16 | 18 |
| edgeR_QP | 11 | 16 | 18 |
| edgeR_QP_optim | 11 | 16 | 18 |
| qbGLM | 19 | 28 | 43 |
| qbGLM_offset | 20 | 30 | 52 |
| qbGLM_offset_squeeze | 20 | 30 | 52 |
| Replicate: 4 | |||
| bGLM | 68 | 154 | 296 |
| edgeR_NB | 8 | 16 | 28 |
| edgeR_NB_optim | 8 | 16 | 28 |
| edgeR_QP | 8 | 16 | 28 |
| edgeR_QP_optim | 8 | 16 | 28 |
| qbGLM | 68 | 153 | 292 |
| qbGLM_offset | 37 | 71 | 110 |
| qbGLM_offset_squeeze | 37 | 71 | 110 |
| Replicate: 5 | |||
| bGLM | 6 | 15 | 26 |
| edgeR_NB | 2 | 3 | 5 |
| edgeR_NB_optim | 2 | 3 | 5 |
| edgeR_QP | 2 | 3 | 5 |
| edgeR_QP_optim | 2 | 3 | 5 |
| qbGLM | 6 | 15 | 26 |
| qbGLM_offset | 7 | 16 | 28 |
| qbGLM_offset_squeeze | 7 | 16 | 28 |
| method | sum(FDR < 0.01) | sum(FDR < 0.05) | sum(FDR < 0.1) |
|---|---|---|---|
| Replicate: 1 | |||
| bGLM | 64 | 125 | 177 |
| edgeR_NB | 36 | 66 | 91 |
| edgeR_NB_optim | 36 | 66 | 91 |
| edgeR_QP | 36 | 66 | 91 |
| edgeR_QP_optim | 36 | 66 | 91 |
| qbGLM | 64 | 125 | 177 |
| qbGLM_offset | 63 | 125 | 189 |
| qbGLM_offset_squeeze | 63 | 125 | 189 |
| Replicate: 2 | |||
| bGLM | 75 | 167 | 277 |
| edgeR_NB | 29 | 59 | 91 |
| edgeR_NB_optim | 29 | 59 | 91 |
| edgeR_QP | 29 | 59 | 91 |
| edgeR_QP_optim | 29 | 59 | 91 |
| qbGLM | 75 | 167 | 275 |
| qbGLM_offset | 88 | 178 | 273 |
| qbGLM_offset_squeeze | 88 | 178 | 273 |
| Replicate: 3 | |||
| bGLM | 64 | 152 | 220 |
| edgeR_NB | 16 | 33 | 43 |
| edgeR_NB_optim | 16 | 33 | 43 |
| edgeR_QP | 16 | 33 | 43 |
| edgeR_QP_optim | 16 | 33 | 43 |
| qbGLM | 64 | 153 | 222 |
| qbGLM_offset | 46 | 83 | 125 |
| qbGLM_offset_squeeze | 46 | 83 | 125 |
| Replicate: 4 | |||
| bGLM | 78 | 149 | 233 |
| edgeR_NB | 33 | 57 | 79 |
| edgeR_NB_optim | 33 | 57 | 79 |
| edgeR_QP | 33 | 57 | 79 |
| edgeR_QP_optim | 33 | 57 | 79 |
| qbGLM | 78 | 149 | 233 |
| qbGLM_offset | 59 | 115 | 188 |
| qbGLM_offset_squeeze | 59 | 115 | 188 |
| Replicate: 5 | |||
| bGLM | 65 | 117 | 172 |
| edgeR_NB | 35 | 57 | 81 |
| edgeR_NB_optim | 35 | 57 | 81 |
| edgeR_QP | 35 | 57 | 81 |
| edgeR_QP_optim | 35 | 57 | 81 |
| qbGLM | 65 | 118 | 171 |
| qbGLM_offset | 67 | 127 | 189 |
| qbGLM_offset_squeeze | 67 | 127 | 189 |
pval_figs <- map(res_tables, pval_hist)For each replicate, calculate average log-normalized counts, using scuttle::calculateAverage().
## Calculate average counts for each replicate
avg_counts <- map_depth(sce_objects, 2,
~ calculateAverage(counts(.x))
)
## Split res_tables per replicate
res_tables_split <- map(res_tables, ~ split(.x, .x$replicate))
## Add average counts to results tables
## Note that for the 'combined' celltypes, the average counts will be the same
## for each celltype contrast
res_tables_split <- map2(
res_tables_split, avg_counts,
~ map2(.x, .y, function(res, avg_cnt) {
res$avg_count <- avg_cnt[res$gene]
res
})
)Make p-value histograms stratified by the average counts.
pval_hist_strat_plots <- map(res_tables_split,
~ imap(.x, function(y, replicate) {
replicate <- str_remove(replicate, "replicate_")
title <- paste("Replicate:", replicate)
pval_hist_strat(y, n_groups = 6) +
ggtitle(title)
})
)#> [1] "2023-05-27 15:56:39 CEST"
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.2.0 (2022-04-22)
#> os Red Hat Enterprise Linux 8.6 (Ootpa)
#> system x86_64, linux-gnu
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz Europe/Paris
#> date 2023-05-27
#> pandoc 2.13 @ /apps/gent/RHEL8/zen2-ib/software/Pandoc/2.13/bin/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> ! package * version date (UTC) lib source
#> P argparse * 2.2.2 2023-02-15 [?] CRAN (R 4.2.0)
#> P beachmat 2.14.2 2023-04-07 [?] Bioconductor
#> P beeswarm 0.4.0 2021-06-01 [?] CRAN (R 4.2.0)
#> P Biobase * 2.58.0 2022-11-01 [?] Bioconductor
#> P BiocGenerics * 0.44.0 2022-11-01 [?] Bioconductor
#> P BiocManager 1.30.20 2023-02-24 [?] CRAN (R 4.2.0)
#> P BiocNeighbors 1.16.0 2022-11-01 [?] Bioconductor
#> P BiocParallel 1.32.6 2023-03-17 [?] Bioconductor
#> P BiocSingular 1.14.0 2022-11-01 [?] Bioconductor
#> P bitops 1.0-7 2021-04-24 [?] CRAN (R 4.2.0)
#> P bluster 1.8.0 2022-11-01 [?] Bioconductor
#> P bslib 0.4.2 2022-12-16 [?] CRAN (R 4.2.0)
#> P cachem 1.0.8 2023-05-01 [?] CRAN (R 4.2.0)
#> P cli 3.6.1 2023-03-23 [?] CRAN (R 4.2.0)
#> P cluster 2.1.4 2022-08-22 [?] CRAN (R 4.2.0)
#> P codetools 0.2-19 2023-02-01 [?] CRAN (R 4.2.0)
#> P colorspace 2.1-0 2023-01-23 [?] CRAN (R 4.2.0)
#> P cowplot * 1.1.1 2020-12-30 [?] CRAN (R 4.2.0)
#> DDCompanion * 0.1.15 2023-05-22 [1] local (./package)
#> P DelayedArray 0.24.0 2022-11-01 [?] Bioconductor
#> P DelayedMatrixStats 1.20.0 2022-11-01 [?] Bioconductor
#> P digest 0.6.31 2022-12-11 [?] CRAN (R 4.2.0)
#> P dplyr * 1.1.2 2023-04-20 [?] CRAN (R 4.2.0)
#> P dqrng 0.3.0 2021-05-01 [?] CRAN (R 4.2.0)
#> P DT 0.28 2023-05-18 [?] CRAN (R 4.2.0)
#> P edgeR 3.40.2 2023-01-19 [?] Bioconductor
#> P ellipsis 0.3.2 2021-04-29 [?] CRAN (R 4.2.0)
#> P evaluate 0.21 2023-05-05 [?] CRAN (R 4.2.0)
#> P fansi 1.0.4 2023-01-22 [?] CRAN (R 4.2.0)
#> P farver 2.1.1 2022-07-06 [?] CRAN (R 4.2.0)
#> P fastmap 1.1.1 2023-02-24 [?] CRAN (R 4.2.0)
#> P findpython 1.0.8 2023-03-14 [?] CRAN (R 4.2.0)
#> P forcats * 1.0.0 2023-01-29 [?] CRAN (R 4.2.0)
#> P generics 0.1.3 2022-07-05 [?] CRAN (R 4.2.0)
#> P GenomeInfoDb * 1.34.9 2023-02-02 [?] Bioconductor
#> P GenomeInfoDbData 1.2.9 2023-05-20 [?] Bioconductor
#> P GenomicRanges * 1.50.2 2022-12-16 [?] Bioconductor
#> P GGally * 2.1.2 2021-06-21 [?] CRAN (R 4.2.0)
#> P ggbeeswarm 0.7.2 2023-04-29 [?] CRAN (R 4.2.0)
#> P ggplot2 * 3.4.2 2023-04-03 [?] CRAN (R 4.2.0)
#> P ggrepel 0.9.3 2023-02-03 [?] CRAN (R 4.2.0)
#> P glue 1.6.2 2022-02-24 [?] CRAN (R 4.2.0)
#> P gridExtra 2.3 2017-09-09 [?] CRAN (R 4.2.0)
#> P gtable 0.3.3 2023-03-21 [?] CRAN (R 4.2.0)
#> P here * 1.0.1 2020-12-13 [?] CRAN (R 4.2.0)
#> P highr 0.10 2022-12-22 [?] CRAN (R 4.2.0)
#> P hms 1.1.3 2023-03-21 [?] CRAN (R 4.2.0)
#> P htmltools 0.5.5 2023-03-23 [?] CRAN (R 4.2.0)
#> P htmlwidgets 1.6.2 2023-03-17 [?] CRAN (R 4.2.0)
#> P httpuv 1.6.11 2023-05-11 [?] CRAN (R 4.2.0)
#> P httr 1.4.6 2023-05-08 [?] CRAN (R 4.2.0)
#> P iCOBRA 1.26.0 2022-11-01 [?] Bioconductor
#> P igraph 1.4.3 2023-05-22 [?] CRAN (R 4.2.0)
#> P IRanges * 2.32.0 2022-11-01 [?] Bioconductor
#> P irlba 2.3.5.1 2022-10-03 [?] CRAN (R 4.2.0)
#> P jquerylib 0.1.4 2021-04-26 [?] CRAN (R 4.2.0)
#> P jsonlite 1.8.4 2022-12-06 [?] CRAN (R 4.2.0)
#> P kableExtra * 1.3.4 2021-02-20 [?] CRAN (R 4.2.0)
#> P knitr 1.42 2023-01-25 [?] CRAN (R 4.2.0)
#> P labeling 0.4.2 2020-10-20 [?] CRAN (R 4.2.0)
#> P later 1.3.1 2023-05-02 [?] CRAN (R 4.2.0)
#> P lattice 0.21-8 2023-04-05 [?] CRAN (R 4.2.0)
#> P lifecycle 1.0.3 2022-10-07 [?] CRAN (R 4.2.0)
#> P limma 3.54.2 2023-02-28 [?] Bioconductor
#> P locfit 1.5-9.7 2023-01-02 [?] CRAN (R 4.2.0)
#> P lubridate * 1.9.2 2023-02-10 [?] CRAN (R 4.2.0)
#> P magrittr 2.0.3 2022-03-30 [?] CRAN (R 4.2.0)
#> P Matrix 1.5-4.1 2023-05-18 [?] CRAN (R 4.2.0)
#> P MatrixGenerics * 1.10.0 2022-11-01 [?] Bioconductor
#> P matrixStats * 0.63.0 2022-11-18 [?] CRAN (R 4.2.0)
#> P metapod 1.6.0 2022-11-01 [?] Bioconductor
#> P mime 0.12 2021-09-28 [?] CRAN (R 4.2.0)
#> P munsell 0.5.0 2018-06-12 [?] CRAN (R 4.2.0)
#> P pillar 1.9.0 2023-03-22 [?] CRAN (R 4.2.0)
#> P pkgconfig 2.0.3 2019-09-22 [?] CRAN (R 4.2.0)
#> P plyr 1.8.8 2022-11-11 [?] CRAN (R 4.2.0)
#> P promises 1.2.0.1 2021-02-11 [?] CRAN (R 4.2.0)
#> P purrr * 1.0.1 2023-01-10 [?] CRAN (R 4.2.0)
#> P R6 2.5.1 2021-08-19 [?] CRAN (R 4.2.0)
#> P RColorBrewer 1.1-3 2022-04-03 [?] CRAN (R 4.2.0)
#> P Rcpp 1.0.10 2023-01-22 [?] CRAN (R 4.2.0)
#> P RCurl 1.98-1.12 2023-03-27 [?] CRAN (R 4.2.0)
#> P readr * 2.1.4 2023-02-10 [?] CRAN (R 4.2.0)
#> renv 0.17.3 2023-04-06 [1] CRAN (R 4.2.0)
#> P reshape 0.8.9 2022-04-12 [?] CRAN (R 4.2.0)
#> P reshape2 1.4.4 2020-04-09 [?] CRAN (R 4.2.0)
#> P rlang 1.1.1 2023-04-28 [?] CRAN (R 4.2.0)
#> P rmarkdown 2.21 2023-03-26 [?] CRAN (R 4.2.0)
#> P ROCR 1.0-11 2020-05-02 [?] CRAN (R 4.2.0)
#> P rprojroot 2.0.3 2022-04-02 [?] CRAN (R 4.2.0)
#> P rstudioapi 0.14 2022-08-22 [?] CRAN (R 4.2.0)
#> P rsvd 1.0.5 2021-04-16 [?] CRAN (R 4.2.0)
#> P rvest 1.0.3 2022-08-19 [?] CRAN (R 4.2.0)
#> P S4Vectors * 0.36.2 2023-02-26 [?] Bioconductor
#> P sass 0.4.6 2023-05-03 [?] CRAN (R 4.2.0)
#> P ScaledMatrix 1.6.0 2022-11-01 [?] Bioconductor
#> P scales 1.2.1 2022-08-20 [?] CRAN (R 4.2.0)
#> P scater * 1.26.1 2022-11-13 [?] Bioconductor
#> P scran 1.26.2 2023-01-19 [?] Bioconductor
#> P scuttle * 1.8.4 2023-01-19 [?] Bioconductor
#> P sessioninfo 1.2.2 2021-12-06 [?] CRAN (R 4.2.0)
#> P shiny 1.7.4 2022-12-15 [?] CRAN (R 4.2.0)
#> P shinyBS 0.61.1 2022-04-17 [?] CRAN (R 4.2.0)
#> P shinydashboard 0.7.2 2021-09-30 [?] CRAN (R 4.2.0)
#> P SingleCellExperiment * 1.20.1 2023-03-17 [?] Bioconductor
#> P sparseMatrixStats 1.10.0 2022-11-01 [?] Bioconductor
#> P statmod 1.5.0 2023-01-06 [?] CRAN (R 4.2.0)
#> P stringi 1.7.12 2023-01-11 [?] CRAN (R 4.2.0)
#> P stringr * 1.5.0 2022-12-02 [?] CRAN (R 4.2.0)
#> P SummarizedExperiment * 1.28.0 2022-11-01 [?] Bioconductor
#> P svglite 2.1.1 2023-01-10 [?] CRAN (R 4.2.0)
#> P systemfonts 1.0.4 2022-02-11 [?] CRAN (R 4.2.0)
#> P tibble * 3.2.1 2023-03-20 [?] CRAN (R 4.2.0)
#> P tidyr * 1.3.0 2023-01-24 [?] CRAN (R 4.2.0)
#> P tidyselect 1.2.0 2022-10-10 [?] CRAN (R 4.2.0)
#> P tidyverse * 2.0.0 2023-02-22 [?] CRAN (R 4.2.0)
#> P timechange 0.2.0 2023-01-11 [?] CRAN (R 4.2.0)
#> P tzdb 0.4.0 2023-05-12 [?] CRAN (R 4.2.0)
#> P UpSetR 1.4.0 2019-05-22 [?] CRAN (R 4.2.0)
#> P utf8 1.2.3 2023-01-31 [?] CRAN (R 4.2.0)
#> P vctrs 0.6.2 2023-04-19 [?] CRAN (R 4.2.0)
#> P vipor 0.4.5 2017-03-22 [?] CRAN (R 4.2.0)
#> P viridis 0.6.3 2023-05-03 [?] CRAN (R 4.2.0)
#> P viridisLite 0.4.2 2023-05-02 [?] CRAN (R 4.2.0)
#> P webshot 0.5.4 2022-09-26 [?] CRAN (R 4.2.0)
#> P withr 2.5.0 2022-03-03 [?] CRAN (R 4.2.0)
#> P xfun 0.39 2023-04-20 [?] CRAN (R 4.2.0)
#> P xml2 1.3.4 2023-04-27 [?] CRAN (R 4.2.0)
#> P xtable 1.8-4 2019-04-21 [?] CRAN (R 4.2.0)
#> P XVector 0.38.0 2022-11-01 [?] Bioconductor
#> P yaml 2.3.7 2023-01-23 [?] CRAN (R 4.2.0)
#> P zlibbioc 1.44.0 2022-11-01 [?] Bioconductor
#>
#> [1] /kyukon/data/gent/vo/000/gvo00063/Jeroen/DD_project_v2/benchmarks/lupus/renv/library/R-4.2/x86_64-pc-linux-gnu
#> [2] /kyukon/home/gent/460/vsc46052/.cache/R/renv/sandbox/R-4.2/x86_64-pc-linux-gnu/4df86545
#>
#> P ── Loaded and on-disk path mismatch.
#>
#> ──────────────────────────────────────────────────────────────────────────────